Function.prototype.mycall=function(context,...args){
    if( typeof this !=='function'){
        throw new TypeError;
    }
    const fn=Symbol('fn');
    context=context||window;
    context[fn]=this;
    let result=context[fn](...args);
    delete context[fn];
    return result;
}
var obj={
    value:1234
}
function func(){
    console.log(this.value);
}
func.call(obj)